import Vue from 'vue';
// 引入路由器
import VueRouter from 'vue-router';
// 引入路由
import ShengXian from '../views/homepage/ShengXian.vue';
import TiaoLiao from '../views/homepage/TiaoLiao.vue';
import ShengRou from '../views/homepage/shengxian/ShengRou.vue'
import DanLei from '../views/homepage/shengxian/DanLei.vue';
// import NotFound from '../views/NotFound.vue';
const NotFound = ()=>import('../views/NotFound.vue')
/* 
路由懒加载 通过import加载模块 分模块进行单独打包 首次运行时速度加快
代码分割（code split)

vue单页面应用（spa） 懒加载 运用webpack打包 打包过后的文件非常大 进入首页 由于内容过多 卡  白屏 即使使用了loading加载 也不利于用户体验，使用懒加载 可以将页面划分 可以缓解首页加载的压力


*/


// 声明使用vue插件

Vue.use(VueRouter);

const router = new VueRouter({
    mode:"hash",
    // 注册路由
    routes:[
        {
            path:'/homepage',//此处/代表根路径  路径当中不建议有中文
            name:'homepage',
            component:()=>import('../views/HomePage.vue'),
            children:[
                {
                    path:'shengxian',
                    name:'shengxian',
                    component:ShengXian,
                    children:[
                        {
                            path:'shengrou',//可以省略父级的路径，直接写当前的，但是不能在前面加 / 
                            name:'shengrou',
                            component:ShengRou
                        },
                        {
                            path:'/homepage/shengxian/danlei',
                            name:'danlei',
                            component:DanLei
                        }
                    ]
                },{
                    path:'/homepage/tiaoliao',
                    name:'tiaoliao',
                    component:TiaoLiao
                }
            ]
        },
        {
            path:'/catepage',
            name:'catepage',
            component:()=>import('../views/CatePage.vue')
        },
        {
            path:"/cartpage",
            name:'cartpage',
            component:()=>import('../views/CartPage.vue')
        },
        {
            path:'/personalpage',
            name:'personalpage',
            component:()=>import('../views/PersonalPage.vue')
        },
        // goods详情
        {
            // params传值 一定要先配置占位符
            path:'/goodsitem/:id',
            name:'goodsitem',
            component:()=>import('../views/GoodsItem.vue')
        },
        // 重定向
        {
            path:'/',
            // redirect:'/homepage'
            redirect:{
                // name:'homepage'
                path:'/homepage'
            }
        },
        // *所有不存在
        {
            path:'*',
            component:NotFound
        }
    ]
})

export default router